import * as vscode from 'vscode';
import * as _ from 'lodash';
import { CSSClassProvider } from './cssClassProvider';
import { SettingsReader } from './settingsReader';
import { CSSParser } from './cssParser';

// 插件激活时调用
export function activate(context: vscode.ExtensionContext) {
    console.log('CSS Class Helper插件已激活');

    try {
        // 创建设置读取器
        const settingsReader = new SettingsReader();

        // 创建CSS解析器
        const cssParser = new CSSParser();
        
        // 创建CSS类名提供器
        const cssClassProvider = new CSSClassProvider(settingsReader, cssParser);

        // 注册自动补全提供器
        const completionProvider = vscode.languages.registerCompletionItemProvider(
            [
                { scheme: 'file', language: 'html' },
                { scheme: 'file', pattern: '**/*.{vue,tsx}' },
            ],
            cssClassProvider,
            '-',
            // ..._.map(settingsReader.getPrefixes(), item=>`${item}`)
            // ' ', // 空格
            // '"', // 双引号
            // "'", // 单引号
            // '=', // 等号
            // '{', // 大括号（用于TSX模板字符串）
            // '`'  // 反引号（用于模板字符串）
        );

        context.subscriptions.push(completionProvider);
        console.log('CSS Class Helper插件激活成功');
        
    } catch (error) {
        console.error('CSS Class Helper插件激活失败:', error);
    }
}

// 插件停用时调用
export function deactivate() {
    console.log('CSS Class Helper插件已停用');
}
